package fr.chrysalis.ui.events
{
	import com.hydrotik.queueloader.QueueLoaderEvent;
	
	import flash.events.Event;
	
	public class UIEvent extends Event
	{
		
		/**
		 * Dispatch quand un item commence à etre chargé
		 */
		public static const ITEM_START:String = "itemStart";
		
		/**
		 * Dispatch quand une erreur est survenue lors du chargement d'un item 
		 */
		public static const ITEM_ERROR:String = "itemError";
		
		/**
		 * Dispatch quand le loading est en chargement 
		 */
		public static const PROGRESS:String = "progress";
		
		/**
		 * Dispatch quand le loading est terminé 
		 */
		public static const COMPLETE:String = "complete";
		
		/**
		 * Paramètre du queueLoader
		 */
		public var queueLoaderEvt:QueueLoaderEvent;
		
		public function UIEvent(type:String, queueLoaderEvt:QueueLoaderEvent){
			super(type, false, false);
			this.queueLoaderEvt = queueLoaderEvt;
		}
		
		public override function clone():Event{
			return new UIEvent(this.type, this.queueLoaderEvt);
		}
		
		/**
		 * Renvoie le pourcentage de chargement 
		 */
		public function getPourcent():Number {
			return this.queueLoaderEvt.queuepercentage*100;
		}
		
		/**
		 * Renvoie un message d'info
		 */
		public function getMessage():String {
			return this.queueLoaderEvt.message;
		}
		
	}
}